<?php
    // 定义方式1
    // $arr1 = array(值1, 值2);
    // $arr1 = array(10);// 一个元素，值是 数字10
    // var_dump($arr1);

    // 定义方式2
    // $arr2 = array(
    //     键1 => 值1,
    //     键2 => 值2,
    //     ...
    // );
    // $arr2 = array(
    //     "a" => 123,
    //     "b" => "abc"
    // );
    // var_dump($arr2);
    
    // 定义方式3
    // $arr1 = [值1, 值2];

    // 定义方式4
    // $arr1 = [
    //     键1 => 值1, 
    //     键2 => 值2
    // ];

    // $arr1 = [1,3,5];
    // $len = count($arr1);
    // var_dump($len);

    $arr1 = [1,3,5];
    $arr2 = [
        "a"=>11,
        "b"=>13,
        "c"=>15
    ];
    // 通过 下标 或 键值 取 对应元素
    $val = $arr1[0];
    // echo $val, " ", $arr2["a"];

    // 给元素 赋值
    $arr1[0] = "abc";
    $arr2["a"] = "qwe";
    // var_dump($arr1);
    // var_dump($arr2);

    // 在指定位置添加一个元素
    $arr1[3] = 100;
    // var_dump($arr1);

    // 当不指定 下标或键 时，默认在数组末尾 追加一个元素
    $arr1[] = "test";
    // var_dump($arr1);

    /*
    unset 对数组中元素 使用时，表示删除该元素
    不会对数组重新排序，即数组的默认顺序不变
    */
    unset($arr1[0]);
    // var_dump($arr1);

    // 对 删除了 元素的 数组 重新排序，返回 重新排序后的 新数组
    $new_arr = array_values($arr1);
    // var_dump($new_arr);
    // var_dump($arr1);// 不改变原数组

    // 把水仙花数 存入数组, 先输出 水仙花数的 个数，再使用 print_r 输出数组内容。
    $sxh_arr = [];
    for ($i=100; $i < 1000; $i++) { 
        $a = $i%10;//个
        $b = ($i%100 - $a) / 10;// 十
        $c = ($i - $i%100) / 100;// 百
        if( $i == ($a*$a*$a + $b*$b*$b + $c*$c*$c) ){
            $sxh_arr[] = $i;// 水仙花数
        }
    }
    echo "水仙花数的个数:" . count($sxh_arr) . "<br>水仙花数:";
    print_r($sxh_arr);

?>